home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-05 / driverss.zip / 8250DEFS.ASM < prev    next >
Assembly Source File  |  1991-01-25  |  2KB  |  75 lines

  1. ;8250 definitions
  2. ;Control/status register offsets from base address
  3. THR    equ    0        ;Transmitter holding register
  4. RBR    equ    0        ;Receiver buffer register
  5. DLL    equ    0        ;Divisor latch LSB
  6. DLM    equ    1        ;Divisor latch MSB
  7. IER    equ    1        ;Interrupt enable register
  8. IIR    equ    2        ;Interrupt ident register
  9. FCR    equ    2        ;16550 FIFO control register
  10. LCR    equ    3        ;Line control register
  11. MCR    equ    4        ;Modem control register
  12. LSR    equ    5        ;Line status register
  13. MSR    equ    6        ;Modem status register
  14.  
  15. ;8250 Line Control Register
  16. LCR_5BITS    equ    0    ;5 bit words
  17. LCR_6BITS    equ    1    ;6 bit words
  18. LCR_7BITS    equ    2    ;7 bit words
  19. LCR_8BITS    equ    3    ;8 bit words
  20. LCR_NSB        equ    4    ;Number of stop bits
  21. LCR_PEN        equ    8    ;Parity enable
  22. LCR_EPS        equ    10h    ;Even parity select
  23. LCR_SP        equ    20h    ;Stick parity
  24. LCR_SB        equ    40h    ;Set break
  25. LCR_DLAB    equ    80h    ;Divisor Latch Access Bit
  26.  
  27. ;8250 Line Status Register
  28. LSR_DR    equ    1    ;Data ready
  29. LSR_OE    equ    2    ;Overrun error
  30. LSR_PE    equ    4    ;Parity error
  31. LSR_FE    equ    8    ;Framing error
  32. LSR_BI    equ    10h    ;Break interrupt
  33. LSR_THRE equ    20h    ;Transmitter line holding register empty
  34. LSR_TSRE equ    40h    ;Transmitter shift register empty
  35.  
  36. ;8250 Interrupt Identification Register
  37. IIR_IP        equ    1    ;0 if interrupt pending
  38. IIR_ID        equ    6    ;Mask for interrupt ID
  39. IIR_RLS        equ    6    ;Receiver Line Status interrupt
  40. IIR_RDA        equ    4    ;Receiver data available interrupt
  41. IIR_THRE    equ    2    ;Transmitter holding register empty int
  42. IIR_MSTAT    equ    0    ;Modem status interrupt
  43. IIR_FIFO_TIMEOUT  equ   008h    ;FIFO timeout interrupt pending - 16550 only
  44. IIR_FIFO_ENABLED  equ   080h    ;FIFO enabled (FCR0 = 1) - 16550 only
  45.  
  46. ;8250 interrupt enable register bits
  47. IER_DAV    equ    1    ;Data available interrupt
  48. IER_TxE    equ    2    ;Tx buffer empty interrupt
  49. IER_RLS    equ    4    ;Receive line status interrupt
  50. IER_MS    equ    8    ;Modem status interrupt
  51.  
  52. ;8250 Modem control register
  53. MCR_DTR    equ    1    ;Data Terminal Ready
  54. MCR_RTS    equ    2    ;Request to Send
  55. MCR_OUT1 equ    4    ;Out 1 (not used)
  56. MCR_OUT2 equ    8    ;Master interrupt enable (actually OUT 2)
  57. MCR_LOOP equ    10h    ;Loopback test mode
  58.  
  59. ;8250 Modem Status Register
  60. MSR_DCTS equ    1    ;Delta Clear-to-Send
  61. MSR_DDSR equ    2    ;Delta Data Set Ready
  62. MSR_TERI equ    4    ;Trailing edge ring indicator
  63. MSR_DRLSD equ    8    ;Delta Rx Line Signal Detect
  64. MSR_CTS equ    10h    ;Clear to send
  65. MSR_DSR equ    20h    ;Data set ready
  66. MSR_RI    equ    40h    ;Ring indicator
  67. MSR_RLSD equ    80h    ;Received line signal detect
  68.  
  69. pr_ch_al    macro        alvalue
  70. ifdef TRACEON
  71.     mov    al,alvalue
  72.     call    pr_ch
  73. endif
  74.     endm
  75.